From: Keir Fraser Date: Wed, 3 Jun 2009 15:12:34 +0000 (+0100) Subject: hvmloader: Scan for gpxe-capable NICs until one is found. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~13817 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22Dat/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22Dat?a=commitdiff_plain;h=ef63071d01a7aa0652a48f5cd2783f69e73fd9e7;p=xen.git hvmloader: Scan for gpxe-capable NICs until one is found. Signed-off-by: Akio Takebe Signed-off-by: Keir Fraser --- diff --git a/tools/firmware/hvmloader/hvmloader.c b/tools/firmware/hvmloader/hvmloader.c index 7552122d4a..fef315821d 100644 --- a/tools/firmware/hvmloader/hvmloader.c +++ b/tools/firmware/hvmloader/hvmloader.c @@ -451,8 +451,9 @@ static int scan_etherboot_nic(uint32_t copy_rom_dest) { uint8_t devfn; uint16_t class, vendor_id, device_id; + int rom_size = 0; - for ( devfn = 0; devfn < 128; devfn++ ) + for ( devfn = 0; (devfn < 128) && !rom_size; devfn++ ) { class = pci_readw(devfn, PCI_CLASS_DEVICE); vendor_id = pci_readw(devfn, PCI_VENDOR_ID); @@ -462,11 +463,11 @@ static int scan_etherboot_nic(uint32_t copy_rom_dest) if ( (vendor_id != 0xffff) && (device_id != 0xffff) && (class == 0x0200) ) - return scan_option_rom( + rom_size = scan_option_rom( devfn, vendor_id, device_id, etherboot, copy_rom_dest); } - return 0; + return rom_size; } /*